Robot programming device and robot programming method

ABSTRACT

To generate an easy-to-understand program for a robot in a simple way. A robot programming device performs programming using an operation unit block. The robot programming device includes a display control unit that displays a programming region and an advanced setting region on a display unit. The programming region is a region for programming for running the robot by setting an operation unit block defined for each operation unit of the robot. The advanced setting region is a region for making setting relating to the operation unit block.

This application is based on and claims the benefit of priority fromJapanese Patent Application No. 2019-155623, filed on 28 Aug. 2019, thecontent of which is incorporated herein by reference.

BACKGROUND OF THE INVENTION Field of the Invention

The present invention relates to a robot programming device and a robotprogramming method.

Related Art

For running a robot, a program written in a programming language in atext format is required to be generated in advance using a teach pendantor a personal computer, for example. For generation of the program,however, consideration is required to be given to the motion of therobot responsive to each command written in the programming language.Such generation may be difficult for a user unskilled in programming.

According to a known technique responsive to this issue, a program for arobot is generated using a block describing a program for each motion ofthe robot. See patent documents 1 and 2, for example.

-   Patent Document 1: Japanese Unexamined Patent Application,    Publication No. 2000-155606-   Patent Document 2: Japanese Unexamined Patent Application,    Publication No. 2016-137542

SUMMARY OF THE INVENTION

As shown in FIGS. 1A to 2, replacing the program in a text format with ablock program requires a huge number of blocks, and this may degrade thevisibility of the program.

FIG. 1A shows exemplary motions to be made by a robot. FIG. 1A shows thefollowing motions 1 to 8 to be made, for example. 1. Move the robot toan approach position “POSITION1.” 2. Move the robot to a workpieceposition “POSITION2.” 3. Close a robot hand (grasp a workpiece 10). 4.Move the robot to a retreat position “POSITION3.” 5. Move the robot toan approach position “POSITION4.” 6. Move the robot to a workpieceinstallation position “POSITION5.” 7. Open the robot hand (release theworkpiece 10). 8. Move the robot to a retreat position “POSITION6.” Asequence of the motions shown in FIG. 1A corresponds to the motion ofloading the workpiece 10 on a machine tool or unloading the workpiece 10from the machine tool, for example.

FIG. 1B shows an example of a conventional program in a text format forteaching the motions in FIG. 1A to a robot. Programs in rows of FIG. 1Bfrom a first row to an eighth row correspond to the motions 1 to 8respectively in FIG. 1A. Namely, the programs in FIG. 1B are composed ofsix operation statements and two hand open/close instructions.

FIG. 2 shows an example of replacement of the program in a text formatshown in FIG. 1B with a block program. The programs from the firstprogram to the eighth program in FIG. 2 correspond to the programs inthe rows in FIG. 1B from the first row to the eighth row. Namely, eachblock in FIG. 2 is defined on the basis of a motion indicated by aprogram instruction (MOVE, for example) in a text format in each row ofFIG. 1B or on the basis of a logic unit in the program instruction.

“MOVE L,” which is shown in blocks corresponding to first, second,fourth to sixth, and eighth program instructions, indicates a code formoving a robot hand to “POSITION1,” for example, by linearinterpolation. “FINE” is a code for advancing to a next block aftercompletion of positioning is determined.

As shown in FIG. 2, setting indicating a move position such as“POSITION1” is made by connecting a setting block. Instead of using thesetting block, setting of a move position, etc., may be made bydescribing a move velocity such as “100” or “FINE” in a block. Settingindicating a move velocity such as “100” may be made by connecting thesetting block.

As shown in FIG. 2, however, regarding a block program defined for eachprogram instruction, the visibility of the program is degraded inresponse to increase in the number of blocks and the number of items tobe set in a block.

Hence, generating an easy-to-understand program for a robot in a simplerway has been desired in programming using a block.

One aspect of a robot programming device of this disclosure is a robotprogramming device that performs programming using an operation unitblock that is a block defined for each operation unit of a robot. Therobot programming device includes a display control unit that displays aprogramming region and an advanced setting region on a display unit. Theprogramming region is a region for programming for running the robot bydefining the motion of the robot on the basis of an operation unit, andsetting an operation unit block corresponding to the operation unit. Theadvanced setting region is a region for making setting relating to theoperation unit block.

One aspect of a robot programming method of this disclosure is a robotprogramming method of performing programming using an operation unitblock that is a block defined for each operation unit of a robot. Themethod is implemented by a computer including a display unit andincludes: a step of displaying a programming region and an advancedsetting region on the display unit; a step of defining the motion of therobot on the basis of an operation unit and setting an operation unitblock corresponding to the operation unit in the programming region; anda step of inputting setting relating to the operation unit block set inthe programming region to the advanced setting region.

According to the one aspect, an easy-to-understand program for a robotcan be generated in a simpler way in programming using a block.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A shows exemplary motions to be made by a robot;

FIG. 1B shows an example of a conventional program in a text format forteaching the motions in FIG. 1A to a robot;

FIG. 2 shows an example of replacement of the program in a text formatshown in FIG. 1B with a block program;

FIG. 3 shows an example of the configuration of a robot control systemaccording to an embodiment;

FIG. 4 is a functional block diagram showing an example of a functionalconfiguration of a robot programming device in FIG. 3;

FIG. 5 shows an example of a user interface displayed on a display unitin FIG. 4;

FIG. 6 shows an example of the user interface in which an advancedsetting region is hidden;

FIG. 7 is a flowchart describing the motion of the robot programmingdevice in FIG. 4; and

FIG. 8 shows an example of the user interface.

DETAILED DESCRIPTION OF THE INVENTION

An embodiment will be described below using drawings.

Configuration of Embodiment

FIG. 3 shows an example of the configuration of a robot control systemaccording to the embodiment. As shown in FIG. 3, the robot controlsystem includes a robot programming device 100, a robot controller 20,and a robot 30.

The robot programming device 100 and the robot controller 20 may beconnected to each other through a predetermined network 40 such as alocal area network (LAN) or the Internet. The robot controller 20 andthe robot 30 may communicably be connected to each other through a wireor without a wire. The robot programming device 100, the robotcontroller 20, and the robot 30 each include a communication unit notshown for mutually communicating with each other through suchconnections.

The robot programming device 100 is an electronic device such as apersonal computer or a tablet, for example, and generates a program forcontrolling the motion of the robot 30 by the robot controller 20. Therobot programming device 100 outputs the generated program to the robotcontroller 20 through the network 40. Alternatively, in an offlineconfiguration in the absence of communicable connection, aftergenerating a program, the robot programming device 100 may store thegenerated program into a storage medium, and the robot controller 20 mayinput the generated program through the storage medium, for example. Therobot controller 20 may include the robot programming device 100, asdescribed later.

Each functional block in the robot programming device 100 will bedescribed later in detail.

The robot controller 20 is a controller (also called a “robotcontroller”) that analyzes the program generated by the robotprogramming device 100 and controls the motion of the robot 30.

The robot 30 is a robot that makes a motion on the basis of control bythe robot controller 20. The robot 30 drives a movable part such as anend effector that may be an arm or a hand on the basis of the control bythe robot controller 20. The robot 30 can be realized using a generalindustrial robot used in a factory of producing automobiles orelectronic parts, for example.

With the foregoing configuration, the robot programming device 100generates a motion program for running the robot 30.

<Functional Block in Robot Programming Device 100>

Functional blocks provided in the robot programming device 100 will bedescribed next.

FIG. 4 is a functional block diagram showing an example of a functionalconfiguration of the robot programming device 100 in FIG. 3.

As shown in FIG. 4, the configuration of the robot programming device100 includes an input unit 101, a display control unit 102, a displayunit 103, and a program generation unit 104.

To realize the motions of the functional blocks in FIG. 4, the robotprogramming device 100 includes an operational processor such as acentral processing unit (CPU) not shown. The robot programming device100 further includes an auxiliary storage device such as a read-onlymemory (ROM) or a hard disk drive (HDD) not shown storing various typesof control programs, and a main storage device such as a random accessmemory (RAM) not shown for storing data required temporarily forexecution of the programs by the operational processor.

In the robot programming device 100, the operational processor reads anOS and application software from the auxiliary storage device. On thebasis of the read OS and application software, the operational processorperforms operational processing while expanding the OS and theapplication software on the main storage device. On the basis of aresult of the operation, the robot programming device 10 controls eachhardware. By doing so, processes by the functional blocks in FIG. 4 arerealized. Namely, the robot programming device 100 can be realized bycausing hardware and software to work collaboratively.

The input unit 101 is realized by an input device such as a keyboard anda mouse or a touch panel, for example. The input unit 101 accepts inputof a block of an operation unit described later, input of a setting itemrelating to the operation unit, and various types of operations from auser.

More specifically, instead of a block defined for each motion indicatedby an instruction for the robot 30 shown FIG. 2 (MOVE, for example) orfor each logic unit in a program instruction, for example, the inputunit 101 accepts input of an operation unit block defined on the basisof an operation unit such as “grasp” or “release.” While the input unit101 accepts input of the operation unit block such as “grasp,” the inputunit 101 further accepts input of teaching (setting) indicating theworkpiece position “POSITION2” in which the workpiece 10 to be graspedby the robot 30 is arranged, as shown in FIG. 1B. The program input inthis way is output to the program generation unit 104. Programming usingthe operation unit block will be described in detail by referring toFIG. 5.

In the following, unless otherwise specified, the operation unit willalso be called an “operation unit” or a “block” simply.

When the display control unit 102 receives an instruction to startprogramming on the basis of input operation from a user through theinput unit 101, for example, the display control unit 102 displays auser interface on the display unit 103 for accepting input of a block ofthe operation unit described later, input of a setting item relating tothe operation unit, and various types of operations from the user. Thedisplayed user interface has a programming region for setting of anoperation unit block for running the robot 30, and an advanced settingregion for making setting (teaching) relating to the operation unitblock. The display control unit 102 and the user interface will bedescribed in detail by referring to FIG. 5.

The display unit 103 is realized by a liquid crystal display, forexample. The foregoing user interface is displayed on the display unit103 on the basis of an instruction from the display control unit 102.

On the basis of an operation unit block set in the programming regionand setting content in the block set in the advanced setting region ofthe user interface, the program generation unit 104 generates a motionprogram for running the robot 30, for example, the program in a standardformat (text format) shown in FIG. 1B. The motion of the programgeneration unit 104 will be described later.

Then, the robot programming device 100 transmits the generated motionprogram to the robot controller 20. The robot controller 20 controls themotion of the robot 30 on the basis of the received motion program. Morespecifically, the robot controller 20 generates a signal for controllingthe motion of the robot 30 on the basis of the received motion program,and outputs the generated signal to the robot 30. In response to theoutput signal, the robot 30 drives a movable part such as an endeffector that may be an arm or a hand. This allows the robot 30 to dopredetermined works in predetermined order by following the motionprogram.

As a result of collaborative work between the foregoing functionalblocks, it becomes possible to set a block of an operation unit and seta setting item relating to the operation unit to generate a motionprogram, and to control the motion of the robot 30 using the robotcontroller 20.

<User Interface>

The user interface and input operation through the user interface willbe described next.

FIG. 5 shows an example of a user interface 300 displayed on the displayunit 103 in FIG. 4.

As shown in FIG. 5, the user interface 300 has a programming region 310,an advanced setting region 320, and a setting display switching region330, for example.

The programming region 310 may have a library region 311 and a blockteaching region 312.

In the library region 311, in response to input operation from a userthrough the input unit 101, a block required for programming isdisplayed for each of libraries such as “variable,” “operationexpression,” “control,” and “branch/repetition.” If “variable” isselected, for example, a list of blocks for causing input of a variablefor setting a motion in a block is displayed in the library region 311.If “operation expression” is selected, a list of blocks for performingoperational processing such as four arithmetic operations is displayedin the library region 311. If “control” is selected, a list of operationunit blocks such as “grasp” and “release” as the motion of the robot 30is displayed in the library region 311. If “branch/repetition” isselected, a list of blocks such as IF statements and DO statements isdisplayed in the library region 311.

The robot programming device 100 stores metadata about template blocksfor each of the libraries including “variable” and “control” in advanceinto the foregoing auxiliary storage device not shown such as a ROM oran HDD.

The block teaching region 312 is a region in which input of programmingis accepted using a block displayed in the library region 311. Thedisplayed block teaching region 312 has a zoom-out button 313 forreducing the display of a block input to the block teaching region 312,a zoom-in button 314 for enlarging the display, and a trash 315 fordeleting a block input to the block teaching region 312, for example.Icons other than these buttons may be prepared. In FIG. 5, operationunit blocks corresponding to the programs in FIG. 1B are input to theblock teaching region 312.

As a specific example, in response to input operation from a userthrough the input unit 101, the library “control” is selected, and anoperation unit block 400 corresponding to the operation “grasp” isdragged and dropped into the block teaching region 312, thereby settingthis block in the block teaching region 312. Then, in response to inputoperation from the user through the input unit 101, the library“variable” is selected, and a block 410 relating to a position isdragged and dropped into the block teaching region 312 in such a manneras to be connected to the operation unit block 400 corresponding to theoperation “grasp,” thereby setting the block 400 corresponding to theoperation “grasp.”

The block 400 corresponding to the operation “grasp” is an operationunit block as a group of the programs in the rows from the first row tothe fourth row in FIG. 1B (blocks from the first block to the fourthblock in FIG. 2). A position “1” set in the block 410 is the workpieceposition “POSITION2” where the workpiece 10 to be grasped by the robot30 is arranged, for example.

Next, in response to input operation from the user through the inputunit 101, the library “control” is selected, and an operation unit block420 corresponding to the operation “release” is dragged and dropped intothe block teaching region 312, thereby setting this block. Then, inresponse to input operation from the user through the input unit 101,the library “variable” is selected, and a block 430 relating to aposition is dragged and dropped into the block teaching region 312 insuch a manner as to be connected to the block 420 corresponding to theoperation “release,” thereby setting the block 420 corresponding to theoperation “release.”

The block 420 corresponding to the operation “release” is an operationunit block as a group of the programs in the rows from the fifth row tothe eighth row in FIG. 1B (blocks from the fifth block to the eighthblock in FIG. 2). A position “2” set in the block 430 is the workpieceinstallation position “POSITION5” where the robot 30 grasping theworkpiece 10 is to release the workpiece 10, for example.

The advanced setting region 320 is a region in which setting is made inrelation to an operation unit block selected from the operation unitblocks 400 and 420 input to the block teaching region 312 in response toinput operation from the user through the input unit 101, and content inthe resultant setting is displayed. As shown in FIG. 5, if the block 400corresponding to the operation “grasp” is selected, for example, aninterface is displayed in the advanced setting region 320 for setting ahand number at “1,” setting a move velocity at “1000 mm/sec,” andsetting an approach velocity at “500 mm/sec.”

Setting to be made in the advanced setting region 320 may include a moveposition or an approach distance, for example. Namely, the position “1”in the block 410 and the position “2” in the block 430 may be set in theadvanced setting region 320. Like the position “1,” however, ifdisplaying positions together with the operation unit blocks 400 and 420provides better understanding of the motions in the blocks, thesepositions may be set using the blocks 410 and 430 as shown in FIG. 5,for example.

The setting display switching region 330 is used for switching betweendisplay and hiding of the advanced setting region 320 in response toinput operation from a user through the input unit 101.

More specifically, if input operation from the user through the inputunit 101 swipes the setting display switching region 330 upward, forexample, the display control unit 102 hides the advanced setting region320. If the setting display switching region 330 is swiped downward, forexample, the display control unit 102 displays the advanced settingregion 320. By doing so, the block teaching region 312 can be displayedin a wider area.

FIG. 6 shows an example of the user interface 300 in which the advancedsetting region 320 is hidden.

As shown in FIG. 6, by hiding the advanced setting region 320 inresponse to input operation from a user through the input unit 101, thedisplay control unit 102 displays the user interface 300 including theprogramming region 310 and the setting display switching region 330. Ifthe block 400 corresponding to the operation “grasp” is selected inresponse to input operation from the user through the input unit 101while the advanced setting region 320 is hidden, for example, thedisplay control unit 102 displays an icon 500 in the setting displayswitching region 330 indicating the presence of advanced setting in theblock 400 corresponding to the operation “grasp.” If a selected blockdoes not require advanced setting, the display control unit 102 does notdisplay the icon 500.

In this way, the user is allowed to see the presence of advanced settingin the selected operation unit block 400. When the user performs inputoperation through the input unit 101 to swipe the setting displayswitching region 330 downward, for example, the display control unit 102displays the advanced setting region 320. This allows the user to checksetting content or make setting in the operation unit block 400.

The display control unit 102 displays the icon 500 in the settingdisplay switching region 330 if there is advanced setting in a selectedoperation unit block. However, this is not the only case but the displaycontrol unit 102 may change the color of the setting display switchingregion 330 or flashes the setting display switching region 330.

As described above, as a result of programming in the programming region310 using a block defined on the basis of an operation unit such as“grasp” or “release” and setting of each operation unit block in theadvanced setting region 320, it becomes possible to generate aneasy-to-understand program in a simpler way and to improve thevisibility of the program.

<Generation Process by Program Generation Unit 104>

Process of generating a motion program by the program generation unit104 will be described next.

As described above, the program generation unit 104 generates a motionprogram for the robot 30 on the basis of an operation unit block inputto the programming region 310 and setting content in each operation unitblock set in the advanced setting region 320 of the user interface 300.

More specifically, for generating a motion program in a standard format(text format, for example), the program generation unit 104 analyzesmotion content relating to an operation unit block corresponding to theoperation “grasp” by the robot 30 on the basis of the block 400corresponding to the operation “grasp” and setting content in the block400 set in the advanced setting region 320, for example. Namely, inorder to grasp the workpiece 10 at the position “1” set in the block 410(the workpiece position “POSITION2” in FIG. 1B) using a hand of therobot 30 with the hand number at “1,” the program generation unit 104calculates the approach position “POSITION1” and the retreat position“POSITION3” in FIG. 1B on the basis of a move velocity, an approachvelocity, etc. set in the advanced setting region 320.

Next, the program generation unit 104 analyzes motion content relatingto an operation unit block corresponding to the operation “release” bythe robot 30 on the basis of the block 420 corresponding to theoperation “release” and setting content in the block 420 set in theadvanced setting region 320. Namely, in order to open the hand of therobot 30 with the hand number “1” and release the workpiece 10 at theposition “2” set in the block 430 (the workpiece installation position“POSITION5” in FIG. 1B), the program generation unit 104 calculates theapproach position “POSITION4” and the retreat position “POSITION6” inFIG. 1B on the basis of a move velocity, an approach velocity, etc. setin the advanced setting region 320.

Then, on the basis of a result of the analysis, the program generationunit 104 generates a motion program in a standard format (text format)for running the robot 30 such as that shown in FIG. 1B using the programgenerated by setting the operation unit block.

As described above, for generating the motion program in a standardformat (text format), the program generation unit 104 calculates anapproach position, etc. for each operation unit block required forrunning the robot 30 on the basis of an operation unit block in theprogramming region 310 and setting content in the block in the advancedsetting region 320. By doing so, even a user unskilled in programming isstill allowed to generate a program for a robot easily.

<Processing Relating to Motion of Robot Programming Device 100>

FIG. 7 is a flowchart describing the motion of the robot programmingdevice 100 in FIG. 4.

In step S1, when the display control unit 102 receives an instruction tostart programming on the basis of input operation from a user throughthe input unit 101, the display control unit 102 displays the userinterface 300 on the display unit 103.

In step S2, the input unit 101 sets an operation unit block in theprogramming region 310 on the basis of the input operation from theuser.

In step S3, on the basis of the input operation from the user, the inputunit 101 sets a setting item in the advanced setting region 320 relatingto the operation unit block input in step S2.

In step S4, on the basis of the operation unit block set in theprogramming region 310 and setting content relating to the block set inthe advanced setting region 320, the program generation unit 104analyzes content in the motion of the robot 30, and generates a motionprogram in a standard format (text format) for the robot 30 on the basisof a result of the analysis.

As described above, the robot programming device 100 according to theembodiment performs programming in the programming region 310 using anoperation unit block corresponding to operation such as “grasp” or“release,” and makes setting relating to the operation unit block in theadvanced setting region 320. By doing so, the robot programming device100 becomes capable of generating an easy-to-understand motion programfor a robot in a simpler way by the programming using the operation unitblock corresponding to the operation by the robot 30.

Using the operation unit block allows improvement of the visibility ofthe motion program for the robot 30 to facilitate maintenance of theprogram.

The robot programming device 100 makes advanced setting relating to anoperation unit block in the advanced setting region 320 different fromthe programming region 310, and displays content in the setting, therebyallowing further improvement of the visibility of a program.

For generating a motion program for the robot 30, the robot programmingdevice 100 calculates an approach position, etc. for each operation unitblock required for running the robot 30 on the basis of an operationunit block set in the programming region 310 and setting content in theblock set in the advanced setting region 320. By doing so, even a userunskilled in programming is still allowed to generate a motion programfor the robot 30 easily.

While the embodiment has been described above, the robot programmingdevice 100 is not limited to the foregoing embodiment but it includesmodifications, improvements, etc. within a range in which the purpose isattainable.

For example, in the foregoing embodiment, the robot programming device100 generates a motion program which may be a program in a standardformat (text format, for example) from a program set using an operationunit block, and transmits the generated program to the robot controller20. However, this is not the only case.

The robot controller 20 may some or all of the functions of the robotprogramming device 100. For example, the robot programming device 100may transmit a program set using an operation unit block to the robotcontroller 20, and the robot controller 20 may generate a motion programwhich may be a program in a standard format (text format, for example)from the received program. In another case, the robot controller 20 maydirectly analyze a program set using an operation unit block.

For example, in the foregoing embodiment, the user interface 300 has theprogramming region 310, the advanced setting region 320, and the settingdisplay switching region 330. However, this is not the only case.

FIG. 8 shows an example of the user interface 300.

As shown in FIG. 8, the display control unit 102 displays only theprogramming region 310 as the user interface 300 on the display unit103, for example. If the block 400 corresponding to the operation“grasp” is selected in response to input operation from a user throughthe input unit 101 and advanced setting is prepared for the selectedblock, the display control unit 102 may display setting content set inthe block 400 corresponding to the operation “grasp” in a dialog box600. By doing so, the programming region 310 can be displayed in a widerarea.

For example, in the foregoing embodiment, in response to input of theblock 400 corresponding to the operation “grasp” or input of the block420 corresponding to the operation “release,” the robot programmingdevice 100 accepts input of setting in the block 410 defining theposition “1” or input of setting in the block 430 defining the position“2.” However, this is not the only case. In the case of FIG. 1A, forexample, instead of setting the position “1” or the position “2,” therobot programming device 100 may set “height,” for example, relative tothe workpiece position “POSITION2” and the workpiece installationposition “POSITION5” of the workpiece 10.

Each function in the robot programming device 100 according to theembodiment can be realized by hardware, software, or a combination ofhardware and software. Being realized by software means being realizedby reading and execution of a program by a computer.

The program can be stored using various types of non-transitorycomputer-readable media and can be supplied to a computer. Thenon-transitory computer-readable media include various types of tangiblestorage media. Examples of the non-transitory computer-readable mediainclude a magnetic storage medium (a flexible disk, magnetic tape, or ahard disk drive, for example), a magneto-optical storage medium (amagneto-optical disk, for example), a CD read-only memory (CD-ROM), aCD-R, a CD-R/W, and a semiconductor memory (a mask ROM, a programmableROM (PROM), an erasable PROM (EPROM), a flash ROM, or a RAM, forexample). The program can also be supplied to the computer using varioustypes of transitory computer-readable media. Examples of the transitorycomputer-readable media include electrical signals, optical signals, andelectromagnetic waves. The transitory computer-readable media can beused for supplying the program to the computer via wired communicationpaths such as electric wires and optical fibers, or wirelesscommunication paths.

Steps describing the program stored in a storage medium certainlyinclude processes to be performed in chronological order according tothe order of the steps, and further include processes not to necessarilybe performed in chronological order but to be performed in parallel orindividually.

As another way of stating the foregoing, the robot programming deviceand the robot programming method of this disclosure can be embodied in awide variety of ways having the configurations as follows:

(1) The robot programming device 100 of this disclosure is a robotprogramming device that performs programming using an operation unitblock that is a block defined for each operation unit of the robot 30.The robot programming device 100 includes the display control unit 102that displays the programming region 310 and the advanced setting region320 on the display unit 103. The programming region 310 is a region forprogramming for running the robot 30 by defining the motion of the robot30 on the basis of an operation unit, and setting an operation unitblock corresponding to the operation unit. The advanced setting region320 is a region for making setting relating to the operation unit block.

According to this robot programming device 100, programming using ablock defined for each operation unit is performed in the programmingregion 310, and setting relating to the operation unit block is made inthe advanced setting region 320. By doing so, an easy-to-understandprogram for a robot can be generated in a simpler way.

(2) The robot programming device 100 described in (1) may furtherinclude the program generation unit 104 that generates a motion programin a standard format (text format, for example) for running the robot 30on the basis of the operation unit block set in the programming region310 and setting content in the operation unit block set in the advancedsetting region 320.

By doing so, the program based on the operation unit block generated bythe robot programming device 100 becomes ready to run at any robotcontroller through conversion of the program to the motion program in astandard format (text format, for example).

This robot programming device 100 allows a user to generate a motionprogram for a robot easily, even if the user is unskilled inprogramming.

(3) In the robot programming device 100 described in (1) or (2), thedisplay control unit 102 may accept an instruction to display settingcontent relating to any operation unit block, and display settingcontent relating to the operation unit block selected by the instructionin the advanced setting region 320.

This robot programming device 100 allows improvement of the visibilityof a program using an operation unit block.

(4) The robot programming method of this disclosure is a robotprogramming method of performing programming using an operation unitblock that is a block defined for each operation unit of the robot 30.The method is implemented by a computer including the display unit 103.The method includes: a step of displaying the programming region 310 andthe advanced setting region 320 on the display unit 103; a step ofdefining the motion of the robot 30 on the basis of an operation unitand setting an operation unit block corresponding to the operation unitin the programming region 310; and a step of inputting setting relatingto the operation unit block set in the programming region 310 to theadvanced setting region 320.

According to this robot programming method, programming using a blockdefined for each operation unit is performed in the programming region310, and setting relating to the operation unit block is made in theadvanced setting region 320. By doing so, an easy-to-understand programfor a robot can be generated in a simpler way.

EXPLANATION OF REFERENCE NUMERALS

-   -   20 Robot controller    -   30 Robot    -   100 Robot programming device    -   101 Input unit    -   102 Display control unit    -   103 Display unit    -   104 Programming generation unit

What is claimed is:
 1. A robot programming device that performsprogramming using an operation unit block that is a block defined foreach operation unit of a robot, the robot programming device comprising:a display control unit that displays a programming region and anadvanced setting region on a display unit, the programming region beinga region for programming for running the robot by defining the motion ofthe robot on the basis of an operation unit, and setting an operationunit block corresponding to the operation unit, the advanced settingregion being a region for making setting relating to the operation unitblock.
 2. The robot programming device according to claim 1, furthercomprising a program generation unit that generates a motion program ina standard format for running the robot on the basis of the operationunit block set in the programming region and setting content in theoperation unit block set in the advanced setting region.
 3. The robotprogramming device according to claim 1, wherein the display controlunit accepts an instruction to display setting content relating to anyoperation unit block, and displays setting content relating to theoperation unit block selected by the instruction in the advanced settingregion.
 4. A robot programming method of performing programming using anoperation unit block that is a block defined for each operation unit ofa robot, the method being implemented by a computer including a displayunit and comprising: a step of displaying a programming region and anadvanced setting region on the display unit; a step of defining themotion of the robot on the basis of an operation unit and setting anoperation unit block corresponding to the operation unit in theprogramming region; and a step of inputting setting relating to theoperation unit block set in the programming region to the advancedsetting region.